Android Gradle 權威指南

Android Gradle 權威指南

作者: 飛雪無情
出版社: 人民郵電
出版在: 2017-07-01
ISBN-13: 9787115461230
ISBN-10: 7115461236
裝訂格式: 平裝
總頁數: 223 頁





內容描述


本書全面講解了Android 下Gradle的詳細用法,並結合實例,讓讀者達到學以致用的目的。本書主要內容如下:
第1章Gradle入門,講解了配置Gradle環境、Gradle Wrapper、Gradle命令行;第2章Groovy基礎,講解了字符串、閉包等;第3章講解了Gradle構建腳本基礎;第4章為Gradle任務;第5章Gradle插件;第6章Java Gradle插件;第7章Android Gradle插件;第8章自定義Android Gradle工程;第9章Android Gradle高級自定義;第10章Android Gradle多項目構建;第11章Android Gradle多渠道構建;第12章Android Gradle測試;第13章Android Gradle NDK支持;第14章Android Gradle持續集成等核心開發知識。
本書講解通俗易懂,適合Android程序員閱讀,也適合作為大專院校相關專業師生的學慣用書和培訓學校的教材。


目錄大綱


目錄
第1章Gradle入門1 
1.1配置Gradle環境1 
1.1.1 Linux下搭建Gradle構建環境2 
1.1.2 Windows下搭建Gradle構建環境3 
1.2 Gradle版Hello World 3 
1.3 Gradle Wrapper 5 
1.3.1生成Wrapper 5 
1.3. 2 Wrapper配置6 
1.3.3 gradle-wrapper.properties 6 
1.3.4自定義Wrapper Task 7 
1.4 Gradle日誌8 
1.4.1日誌級別8 
1.4.2輸出錯誤堆棧信息9 
1.4.3自己使用日誌信息調試9 
1.5 Gradle命令行10 
1.5.1記得使用幫助10 
1.5.2查看所有可執行的Tasks 10 
1.5.3 Gradle Help任務11 
1.5.4強制刷新依賴12 
1.5.5多任務調用13 
1.5.6通過任務名字縮寫執行13 
第2章Groovy基礎14 
2.1字符串14 
2.2集合15 
2.2.1 List 16 
2.2.2 Map 17
2.3方法18 
2.3.1括號是可以省略的18 
2.3.2 return是可以不寫的18 
2.3.3代碼塊是可以作為參數傳遞的19 
2.4 JavaBean 20 
2.5閉包21 
2.5.1初識閉包21 
2.5 .2向閉包傳遞參數22 
2.5.3閉包委託22 
2.6 DSL 24 
第3章Gradle構建腳本基礎25 
3.1 Settings文件25 
3.2 Build文件26 
3.3 Projects以及tasks 27 
3.4創建一個任務28 
3.5任務依賴29 
3.6任務間通過API控制、交互30 
3.7自定義屬性31 
3.8腳本即代碼,代碼也是腳本33 
第4章Gradle任務34 
4.1多種方式創建任務34 
4.2多種方式訪問任務36 
4.3任務分組和描述38 
4.4 <<操作符39 
4.5任務的執行分析41 
4.6任務排序43 
4.7任務的啟用和禁用44 
4.8任務的onlyIf斷言45 
4.9任務規則48 
4.10小結49 
第5章Gradle插件50
5.1插件的作用50 
5.2如何應用一個插件51 
5.2.1應用二進制插件51 
5.2.2應用腳本插件51 
5.2.3 apply方法的其他用法52 
5.2.4應用第三方發布的插件53 
5.2.5使用plugins DSL應用插件53 
5.2.6更多好用的插件54 
5.3自定義插件54 
5.4小結56 
第6章Java Gradle插件57 
6.1如何應用57 
6.2 Java插件約定的項目結構58 
6.3如何配置第三方依賴59 
6.4如何構建一個Java項目62 
6.5源碼集合(SourceSet)概念63 
6.6 Java插件添加的任務65 
6.7 Java插件添加的屬性66 
6.8多項目構建66 
6.9如何發布構件69 
6.10生成Idea和Eclipse配置71 
6.11小結72 
第7章Android Gradle插件73 
7.1 Android Gradle插件簡介73 
7.2 Android Gradle插件分類74 
7.3應用Android Gradle插件74 
7.4 Android Gradle工程示例75
7.4.1 compileSdkVersion 77 
7.4.2 buildToolsVersion 78 
7.4.3 defaultConfig 79 
7.4.4 buildTypes 79 
7.5 Android Gradle任務80 
7.6從Eclipse遷移到Android Gradle工程81 
7.6.1使用Android Studio導入81 
7.6.2從Eclipse+ADT中導出82 
7.7小結85 
第8章自定義Android Gradle工程86 
8.1 defaultConfig默認配置86 
8.1.1 applicationId 87 
8.1.2 minSdkVersion 87 
8.1.3 targetSdkVersion 88 
8.1.4 versionCode 89 
8.1.5 versionName 89 
8.1.6 testApplicationId 90 
8.1 .7 testInstrumentationRunner 91 
8.1.8 signingConfig 91 
8.1.9 proguardFile 92 
8.1.10 proguardFiles 93 
8.2配置簽名信息93 
8.3構建的應用類型97
8.3.1 applicationIdSuffix 97 
8.3.2 debuggable 98 
8.3.3 jniDebuggable 98 
8.3.4 minifyEnabled 99 
8.3.5 multiDexEnabled 99 
8.3.6 proguardFile 100 
8.3.7 proguardFiles 100 
8.3.8 shrinkResources 101 
8.3.9 signingConfig 101 
8.4使用混淆102 
8.5啟用zipalign優化104 
8.6小結105 
第9章Android Gradle高級自定義106 
9.1使用共享庫106 
9.2批量修改生成的apk文件名108 
9.3動態生成版本信息111 
9.3.1最原始的方式111 
9.3.2分模塊的方式112 
9.3.3從git的tag中獲取113 
9.3.4從屬性文件中動態獲取和遞增117 
9.4隱藏簽名文件信息118 
9.5動態配置AndroidManifest文件120 
9.6自定義你的BuildConfig 123 
9.7動態添加自定義的資源126 
9.8 Java編譯選項128
9.9 adb操作選項配置130 
9.10 DEX選項配置133 
9.11突破65535方法限制138 
9.12自動清理未使用的資源142 
第10章Android Gradle多項目構建147 
10.1 Android項目區別147 
10.2 Android多項目設置148 
10.3庫項目引用和配置149 
10.4庫項目單獨發布151 
10.5小結154 
第11章Android Gradle多渠道構建156 
11.1多渠道構建的基本原理156 
11.2 Flurry多渠道和友盟多渠道構建157 
11.3多渠道構建定制159 
11.3.1 applicationId 159 
11.3.2 consumerProguardFiles 160 
11.3.3 manifestPlaceholders 161 
11.3.4 multiDexEnabled 161 
11.3.5 proguardFiles 161 
11.3.6 signingConfig 162 
11.3.7 testApplicationId 162 
11.3.8 testFunctionalTest和testHandleProfiling 163 
11.3.9 testInstrumentationRunner 164
11.3.10 testInstrumentationRunnerArguments 164 
11.3.11 versionCode和versionName 165 
11.3.12 useJack 165 
11.3.13 dimension 166 
11.4提高多渠道構建的效率169 
11.5小結170 
第12章Android Gradle測試172 
12.1基本概念172 
12.2本地單元測試175 
12.3 Instrument測試179 
12.4測試選項配置181 
12.5代碼覆蓋率184 
12.6 Lint支持187 
12.6.1 abortOnError 188 
12.6.2 absolutePaths 189 
12.6.3 check 189 
12.6.4 checkAllWarnings 196 
12.6.5 checkReleaseBuilds 196 
12.6.6 disable 197 
12.6.7 enable 198 
12.6.8 explainIssues 198 
12.6.9 htmlOutput 198 
12.6.10 htmlReport 199 
12.6.11 ignoreWarnings 199
12.6.12 lintConfig 199 
12.6.13 noLines 199 
12.6.14 quiet 200 
12.6.15 severityOverrides 200 
12.6.16 showAll 201 
12.6.17 textOutput 202 
12.6.18 textReport 202 
12.6.19 warningsAsErrors 202 
12.6.20 xmlOutput 203 
12.6.21 xmlReport 203 
12.6.22 error、fatal、ignore、warning、informational 203 
第13章Android Gradle NDK支持206 
13.1環境配置206 
13.2編譯C/C++源代碼208 
13.3多平台編譯212 
13.4使用第三方的so庫214 
13.5使用NDK提供的庫214 
13.6 C++庫支持216 
第14章Android Gradle持續集成219 
14.1什麼是持續集成219 
14.2持續集成的價值219 
14.3 Android Gradle持續集成220 
14.4怎樣更好地做持續集成222
14.5 人才是關鍵223


作者介紹


李帥,網名為飛雪無情,“隨手記”研發部經理,現在隨手記負責Java、Android、iOS、PHP和前端的研發管理。主持翻譯Android官方技術文檔。個人博客:www.flysnow.org。




相關書籍

Google App Inventor 開發手冊-不會寫程式也能設計你的 APP

作者 王培坤

2017-07-01

手機應用程式設計超簡單--App Inventor 2零基礎入門班(中文介面第四版)(附入門影音/範例)

作者 鄧文淵 總監製 文淵閣工作室

2017-07-01

Android Tablets For Dummies, 3/e (Paperback)

作者 Dan Gookin

2017-07-01